﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;
using CRC.Inspecciones.Dominio.Controlador;

namespace CRC.Inspecciones.Presentacion
{
    public partial class UsrListarInspeccionesPeriodicas : UserControl
    {
        private ControladorListarInspeccionesPeriodicas CLIP = new ControladorListarInspeccionesPeriodicas();

        public UsrListarInspeccionesPeriodicas()
        {
            InitializeComponent();
            ListarInspeccionesPeriodicas();
        }

        private void ListarInspeccionesPeriodicas() {
            IList<Object[]> infoInspecciones = null;

            try {
                lstInspPeriodicas.Rows.Clear();
                infoInspecciones = CLIP.listarInspecciones();
                foreach (Object[] infoInspeccion in infoInspecciones) {
                    lstInspPeriodicas.Rows.Add(infoInspeccion);
                    DateTime fecha = new DateTime((int)infoInspeccion.GetValue(2), (int)infoInspeccion.GetValue(3), 1);
                    if (fecha.CompareTo(System.DateTime.Today.AddMonths(4))==-1){
                        lstInspPeriodicas.Rows.SharedRow(lstInspPeriodicas.Rows.Count - 1).DefaultCellStyle.BackColor = System.Drawing.Color.LightSalmon;
                    }
                    }

            } catch(Exception ex){

                MessageBox.Show(
                    ex.Message, 
                    "Error", 
                    MessageBoxButtons.OK, 
                    MessageBoxIcon.Error, 
                    MessageBoxDefaultButton.Button1
                 );
            }
        }

            private void btnCerrar_Click(object sender, EventArgs e)
            {
                this.Dispose();
            }

                private void buttonGenerar_Click(object sender, EventArgs e)
                {
                    this.folderBrowserDialog1.ShowDialog();
                        if (this.folderBrowserDialog1.SelectedPath.Length > 0)
                        {
                            string ruta = this.folderBrowserDialog1.SelectedPath;

                            foreach (DataGridViewRow row in lstInspPeriodicas.Rows)
                            {
                                if ((bool)row.Cells["Seleccion"].FormattedValue)
                                {
                                    //ControladorModificarInspeccionPeriodica cMHI = new ControladorModificarInspeccionPeriodica();
                                    //String hql = String.Empty;
                                    //hql = "Generados los documentos: " + System.DateTime.Today.ToShortDateString();
                                    //cMHI.Add_Observaciones((int)row.Cells["Id"].Value,hql, (int)row.Cells["Id_Salon"].Value, "DIB");

                                    //imprimir
                                    CRC_Imprimir.Printing_Form impr = new CRC_Imprimir.Printing_Form();
                                    impr.Show(this);
                                    impr.Imprimir_Para_Inspeccion((int)row.Cells["Id_Salon"].Value, ruta);
                                   }                                  
                               }
                            }
                            //ListarInspeccionesPeriodicas();
                        }

                private void btnFinalizada_Click(object sender, EventArgs e)
                {
                    foreach (DataGridViewRow row in lstInspPeriodicas.Rows)
                    {
                        if ((bool)row.Cells["Hecha"].FormattedValue)
                        {
                          
                            ControladorModificarInspeccionPeriodica cMHI = new ControladorModificarInspeccionPeriodica();
                             cMHI.Finalizar((int)row.Cells["Id"].Value, (int)row.Cells["Id_Salon"].Value);
                        }
                    }
                
                        ListarInspeccionesPeriodicas();
                    }
                }
                                                    
     }    
   